<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Pyrrhus's Javaweb</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        .shell {
            width: 100%;
            position: relative;
            padding: 80px 0;
            background-attachment: fixed;
            background-size: cover;
        }

        .shell:before {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background: rgba(99, 99, 99, 0.8);
            content: "";
        }

        .header {
            width: 100%;
            text-align: center;
            margin-bottom: 80px;
            position: relative;
        }

        .title {
            color: #fff;
            font-size: 46px;
            font-weight: normal;
            margin: 0;
        }

        .timeline {
            display: flex;
            margin: 0 auto;
            flex-wrap: wrap;
            flex-direction: column;
            max-width: 700px;
            position: relative;
        }

        .content-title {
            font-weight: normal;
            font-size: 66px;
            margin: -10px 0 0 0;
            transition: 0.4s;
            padding: 0 10px;
            box-sizing: border-box;
            color: #fff;
        }

        .content-desc {
            margin: 0;
            font-size: 15px;
            box-sizing: border-box;
            color: rgba(255, 255, 255, 0.7);
            line-height: 25px;
        }

        .timeline:before {
            position: absolute;
            left: 50%;
            width: 2px;
            height: 100%;
            margin-left: -1px;
            content: "";
            background: rgba(255, 255, 255, 0.07);
        }

        .item {
            padding: 40px 0;
            opacity: 0.3;
            filter: blur(2px);
            transition: 0.5s;
            box-sizing: border-box;
            width: calc(50% - 40px);
            display: flex;
            position: relative;
            transform: translateY(-80px);
        }

        .item:before {
            /* 设置在伪元素before中的内容  */
            content: attr(data-text);
            letter-spacing: 3px;
            width: 100%;
            position: absolute;
            color: rgba(255, 255, 255, 0.5);
            font-size: 13px;
            border-left: 2px solid rgba(255, 255, 255, 0.5);
            top: 70%;
            margin-top: -5px;
            padding-left: 15px;
            opacity: 0;
            right: calc(-100% - 56px);
            font: 900 20px '';
            letter-spacing: 5px;
        }

        .item:nth-child(even) {
            align-self: flex-end;
        }

        .item:nth-child(even):before {
            right: auto;
            text-align: right;
            left: calc(-100% - 56px);
            padding-left: 0;
            border-left: none;
            border-right: 2px solid rgba(255, 255, 255, 0.5);
            padding-right: 15px;
        }

        .item--active {
            opacity: 1;
            transform: translateY(0);
            filter: blur(0px);
        }

        .item--active:before {
            top: 50%;
            transition: 0.3s all 0.2s;
            opacity: 1;
        }

        .item--active .content-title {
            margin: -50px 0 20px 0;
        }

        .img {
            max-width: 100%;
            box-shadow: 0 10px 15px rgba(0, 0, 0, 0.4);
        }

        .subtitle {
            color: rgba(255, 255, 255, 0.5);
            font-size: 16px;
            letter-spacing: 5px;
            margin: 10px 0 0 0;
            font-weight: normal;
        }

        .footer {
            padding: 120px 0;
            text-align: center;
        }

        .footer a {
            color: #999;
            display: inline-block;
        }

        @media only screen and (max-width: 767px) {
            .item {
                align-self: baseline !important;
                width: 100%;
                padding: 0 30px 150px 80px;
            }

            .item:before {
                left: 10px !important;
                padding: 0 !important;
                top: 50px;
                text-align: center !important;
                width: 60px;
                border: none !important;
            }

            .item:last-child {
                padding-bottom: 40px;
            }
        }

        @media only screen and (max-width: 767px) {
            .timeline:before {
                left: 40px;
            }
        }
    </style>
</head>

<body>
    <div class="shell" id="shell">
        <div class="header">
            <h2 class="title">Pyrrhus's Javaweb</h2>
            <h3 class="subtitle">course homework</h3>
        </div>
        <div class="timeline">

            <!-- 01 -->
            <div class="item" data-text="第一次课堂作业">
                <div class="content">
                    <a href="./homework1/index.html">
                        <img class="img" src="./img/15.jpg" />
                    </a>
                    <h2 class="content-title">01</h2>
                    <p class="content-desc">
                        ① 需要你创建属于你的第一个 HTML 页面<br>
                        ② 部署你的静态网页页面<br>
                        ③ 作业提交
                    </p>
                </div>
            </div>

            <!-- 02 -->
            <div class="item" data-text="第二次课堂作业">
                <div class="content">
                    <a href="./homework2/index.html">
                        <img class="img" src="./img/02.jpg" />
                    </a>
                    <h2 class="content-title">02</h2>
                    <p class="content-desc">
                        请利用HTML + CSS，完成5个网页页面的布局
                    </p>
                </div>
            </div>
            
            <div class="item" data-text="第三次课堂作业">
                <div class="content">
                    <img class="img" src="./img/03.jpg" />
                    <h2 class="content-title">03</h2>
                    <p class="content-desc">
                        前端大作业~
                    </p>
                </div>
            </div>

            <div class="item" data-text="敬请期待">
                <div class="content">
                    <img class="img" src="./img/04.jpg" />
                    <h2 class="content-title">04</h2>
                    <p class="content-desc">
                        日子只能一天一天好好地过，别无他法。别烦恼明天的事，明天的烦恼让明天去烦吧。我只想开心、努力、温柔待人地过完今天一天。
                    </p>
                </div>
            </div>

            <!-- <div class="item" data-text="《红玫瑰与白玫瑰》">
                <div class="content">
                    <img class="img" src="./img/04.jpg" />
                    <h2 class="content-title">2004</h2>
                    <p class="content-desc">
                        娶了红玫瑰，久而久之，红玫瑰就变成了墙上的一抹蚊子血，白玫瑰还是“床前明月光； 娶了白玫瑰，白玫瑰就是衣服上的一粒饭渣子，红的还是心口上的一颗朱砂痣。
                    </p>
                </div>
            </div>

            <div class="item" data-text="《小王子》">
                <div class="content">
                    <img class="img" src="./img/05.jpg" />
                    <h2 class="content-title">2005</h2>
                    <p class="content-desc">
                        如果你爱上了某个星球的一朵花。那么，只要在夜晚仰望星空，就会觉得漫天的繁星就像一朵朵盛开的花。
                    </p>
                </div>
            </div>

            <div class="item" data-text="《平凡的世界》">
                <div class="content">
                    <img class="img" src="./img/06.jpg" />
                    <h2 class="content-title">2006</h2>
                    <p class="content-desc">
                        人生啊，是这样不可预测，没有永恒的痛苦，也没有永恒的幸福，生活像流水一般，有时是那么平展，有时又是那么曲折。
                    </p>
                </div>
            </div>

            <div class="item" data-text="《银魂》">
                <div class="content">
                    <img class="img" src="./img/07.jpg" />
                    <h2 class="content-title">2007</h2>
                    <p class="content-desc">
                        人生，就像肥皂泡一样。风一吹就呼呼的飞上了天，注意到的时候，却啪地一下消失了。就在即将破裂的瞬间，想要自己飞得更高。但回过神来的时候，却总是来不及。
                    </p>
                </div>
            </div>

            <div class="item" data-text="《小说灯笼》">
                <div class="content">
                    <img class="img" src="./img/08.jpg" />
                    <h2 class="content-title">2008</h2>
                    <p class="content-desc">
                        日子只能一天一天好好地过，别无他法。别烦恼明天的事，明天的烦恼让明天去烦吧。我只想开心、努力、温柔待人地过完今天一天。
                    </p>
                </div>
            </div>

            <div class="item" data-text="《蓝，另一种蓝》">
                <div class="content">
                    <img class="img" src="./img/09.jpg" />
                    <h2 class="content-title">2009</h2>
                    <p class="content-desc">
                        人有的时候真的是奇怪 ，选择了的会后悔，放弃了的会遗憾，但完美只能是一种理想，而不可能是一种存在。
                    </p>
                </div>
            </div>

            <div class="item" data-text="《道林・格雷的画像》">
                <div class="content">
                    <img class="img" src="./img/10.jpg" />
                    <h2 class="content-title">2010</h2>
                    <p class="content-desc">
                        不要虚掷你的黄金时代，不要去倾听枯燥乏味的东西，不要设法挽留无望的失败，不要把你的生命献给无知、平庸和低俗。
                    </p>
                </div>
            </div> -->

        </div>
    </div>

    <!-- footer -->
    <div class="footer">
        <h3>每个优秀的人，都有一段沉默的时光，那段时光，是付出了很多努力，却得不到结果的日子，我们把它叫做扎根。————习</h3>
    </div>

    <!-- jquery -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
    <script>
        (function ($) {
            $.fn.timeline = function () {
                var selectors = {
                    id: $(this),
                    item: $(this).find(".item"),
                    activeClass: "item--active",
                    img: ".img"
                };
                // 将第一个时间轴项目激活，并设置时间轴背景图片为第一个项目的图片
                selectors.item.eq(0).addClass(selectors.activeClass);
                selectors.id.css(
                    "background-image",
                    "url(" +
                    selectors.item
                        .first()
                        .find(selectors.img)
                        .attr("src") +
                    ")"
                );
                // 获取时间轴项目的总数
                var itemLength = selectors.item.length;
                // 当页面滚动时，触发滚动事件
                $(window).scroll(function () {
                    var max, min;
                    // 获取页面滚动的距离
                    var pos = $(this).scrollTop();
                    selectors.item.each(function (i) {
                        // 获取当前时间轴项目的最小和最大高度
                        min = $(this).offset().top;
                        max = $(this).height() + $(this).offset().top;
                        var that = $(this);
                        // 如果滚动到最后一个项目，并且超过了当前项目高度的一半，
                        // 则将最后一个项目设置为激活状态，并设置背景图片为最后一个项目的图片
                        if (i == itemLength - 2 && pos > min + $(this).height() / 3) {
                            selectors.item.removeClass(selectors.activeClass);
                            selectors.id.css(
                                "background-image",
                                "url(" +
                                selectors.item
                                    .last()
                                    .find(selectors.img)
                                    .attr("src") +
                                ")"
                            );
                            selectors.item.last().addClass(selectors.activeClass);
                        }
                        // 如果当前滚动位置在当前项目的最小和最大高度之间，
                        // 则将当前项目设置为激活状态，并设置背景图片为当前项目的图片
                        else if (pos <= max - $(this).height() / 2 && pos >= min) {
                            selectors.id.css(
                                "background-image",
                                "url(" +
                                $(this)
                                    .find(selectors.img)
                                    .attr("src") +
                                ")"
                            );
                            selectors.item.removeClass(selectors.activeClass);
                            $(this).addClass(selectors.activeClass);
                        }
                    });
                });
            };
        })(jQuery)
        /*
        最后，我们调用 timeline 插件并传入时间轴的 ID 作为参数。
        这将启用时间轴插件并为该时间轴绑定滚动事件。
        */
        $("#shell").timeline();
        //nav动画
        const nav = document.querySelector('.nav')
        window.addEventListener('scroll', fixNav)

        function fixNav() {
            if(window.scrollY) {
                nav.classList.add('active')
            } else {
                nav.classList.remove('active')
            }
        }
    </script>
</body>

</html>